package com.scau402.system1.domain.bo;

import com.scau402.common.core.domain.AggregateRoot;
import com.scau402.common.core.domain.BaseBO;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

import java.util.HashMap;
import java.util.Map;

/**
 * 仓库聚合根
 * @author
 * @create 2024/1/3 18:07
 * @description
 */
@Data
@ToString(callSuper = true)
@EqualsAndHashCode
public class WmsWarehouseBO extends BaseBO implements AggregateRoot {

    /**
     * 仓库id
     */
    private Long id;

    /**
     * 仓库编码
     */
    private String warehouseCode;

    /**
     * 仓库名称
     */
    private String warehouseName;

    /**
     * 所在城市
     */
    private String city;

    /**
     * 地址
     */
    private String address;

    /**
     * 最大容量（单位/件）
     */
    private Long maxCap;

    /**
     * 已使用容量（单位/件）
     */
    private Long usedCap;

    /**
     * 是否默认仓库（0不是 1是）
     */
    private String isDefault;

    /**
     * 状态,1正常，2停用，3禁入，4禁出
     */
    private String status;

    /**
     * 删除标志（0 代表存在 2 代表删除）
     */
    private String delFlag;

    /**
     * 租户ID
     */
    private Long tenantId;

    /**
     * 仓位
     */
    private Map<Long, WmsWarehouseStorageBO> storageMap = new HashMap<>(0);

}
